The Background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present disclosure.
Small Computer Systems Interface (“SCSI”) includes a set of American National Standards Institute (“ANSI”) standard electronic interface specifications. SCSI allows computers to communicate with peripheral devices, such as disk drives, tape drives, Compact Disc-Read Only Memory (“CD-ROM”) drives, printers and scanners.
Serial Attached SCSI (“SAS”) interfaces interconnect networks of storage devices with processing devices. SAS interfaces include storage devices that manage concurrent data transfer routines to one or more independent initiators. In general, initiators, which may be workstations or servers, determine the topology of devices in the network (e.g., discover other initiators, expanders and SAS interface modules). Once this information is known, initiators generally establish contacts with a SAS interface module. SAS storage devices manage a World Wide Name (“WWN”) table that indexes initiator identification information for each independent initiator.
Referring now to FIG. 1, a network system 10 may include one or more initiators 12-1, 12-2, . . . , 12-X (collectively initiators 12) each including initiator storage areas 13-1, 13-2, . . . , 13-X, which may be memory modules. The initiators 12 are connected to a SAS interface module 14 via an expander 16. The expander 16 may be an input/output control device that receives and routes data packets. One initiator 12-1 issues an “open” request (i.e., a SAS OPEN address frame) to establish a connection with an identified SAS interface module 14. Subsequently, either the initiator 12-1 or the SAS interface module 14 may re-establish connections.
A typical SAS interface module 14 includes a serializer/deserializer (“SERDES”) 20 that converts serial data from the initiator 12 or expander 16 to parallel data and vice-versa. A link module 22 within a port 24 includes a table 25 of WWN address storage registers 26-1, 26-2, . . . , 26-Y managed directly by link hardware. The table 25 may have a fixed size that is limited. The link module 22 services initiator connection requests by storing and/or retrieving the source and/or destination WWN SAS address internally in registers. Since the amount of time the SAS interface module 14 takes to select and configure the link module hardware should be minimized, the link module 22 manages concurrent connection requests automatically for a limited number of WWN table entries, such as 8, 16 or 32. If the internal WWN table is full, the link module 22 rejects additional connection requests until space is available.
Referring now to FIG. 2, if the internal WWN table is full, a link module 22 may allow additional entries to be managed or queued by a memory 31 within an external control module 32. The external control module 32 allocates memory space to store the additional entries and de-allocates the respective WWN entry in the link module 22. Managing of multiple WWN table locations slows connection request response time for the link module 22.
Further, the external control module 32 manually reads and resets link WWN table information. Since data in the link module registers dynamically changes, the link module is temporarily put into an idle state while the registers are being accessed.